[INFO] fetching crate toondb-index 0.3.4...
[INFO] fixing toondb-index-0.3.4 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=start=2015 for pr-157817-2
[INFO] extracting crate toondb-index 0.3.4 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate toondb-index 0.3.4
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate toondb-index 0.3.4
[INFO] tweaked toml for crates.io crate toondb-index 0.3.4 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate toondb-index 0.3.4 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate toondb-index 0.3.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toondb-core v0.3.4
[INFO] [stderr]   Downloaded zmij v1.0.12
[INFO] [stderr]   Downloaded comfy-table v7.2.1
[INFO] [stderr]   Downloaded toon-format v0.4.1
[INFO] [stderr]   Downloaded zune-core v0.5.0
[INFO] [stderr]   Downloaded zune-jpeg v0.5.8
[INFO] [stderr]   Downloaded fs2 v0.4.3
[INFO] [stderr]   Downloaded crossbeam-skiplist v0.1.3
[INFO] [stderr]   Downloaded io-uring v0.6.4
[INFO] [stderr]   Downloaded toondb-storage v0.3.4
[INFO] [stderr]   Downloaded rusty-fork v0.3.1
[INFO] [stderr]   Downloaded moka v0.12.12
[INFO] [stderr]   Downloaded spinners v4.1.1
[INFO] [stderr]   Downloaded syntect v5.3.0
[INFO] [stderr]   Downloaded fd-lock v4.0.4
[INFO] [stderr]   Downloaded libc v0.2.179
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.56
[INFO] [stderr]   Downloaded tower-http v0.5.2
[INFO] [stderr]   Downloaded rustyline v15.0.0
[INFO] [stderr]   Downloaded sled v0.34.7
[INFO] [stderr]   Downloaded llm v1.3.6
[INFO] [stderr]   Downloaded web-sys v0.3.83
[INFO] [stderr]   Downloaded tiktoken-rs v0.9.1
[INFO] [stderr]   Downloaded rustls-pki-types v1.13.2
[INFO] [stderr]   Downloaded monostate-impl v0.1.18
[INFO] [stderr]   Downloaded monostate v0.1.18
[INFO] [stderr]   Downloaded dary_heap v0.3.8
[INFO] [stderr]   Downloaded criterion v0.5.1
[INFO] [stderr]   Downloaded criterion-plot v0.5.0
[INFO] [stderr]   Downloaded arrow v54.3.1
[INFO] [stderr]   Downloaded arrow-string v54.3.1
[INFO] [stderr]   Downloaded arrow-row v54.3.1
[INFO] [stderr]   Downloaded arrow-ord v54.3.1
[INFO] [stderr]   Downloaded arrow-select v54.3.1
[INFO] [stderr]   Downloaded arrow-buffer v54.3.1
[INFO] [stderr]   Downloaded arrow-array v54.3.1
[INFO] [stderr]   Downloaded arrow-schema v54.3.1
[INFO] [stderr]   Downloaded flatbuffers v24.12.23
[INFO] [stderr]   Downloaded arrow-data v54.3.1
[INFO] [stderr]   Downloaded arrow-ipc v54.3.1
[INFO] [stderr]   Downloaded arrow-arith v54.3.1
[INFO] [stderr]   Downloaded arrow-cast v54.3.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 3e09286b3fbc538c710d42944502d699aa637216d97ab78eaa94044a2216b877
[INFO] running `Command { std: "docker" "start" "3e09286b3fbc538c710d42944502d699aa637216d97ab78eaa94044a2216b877", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e09286b3fbc538c710d42944502d699aa637216d97ab78eaa94044a2216b877" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3e09286b3fbc538c710d42944502d699aa637216d97ab78eaa94044a2216b877", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3e09286b3fbc538c710d42944502d699aa637216d97ab78eaa94044a2216b877" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=start=2015", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling libc v0.2.179
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling find-msvc-tools v0.1.6
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]     Checking iana-time-zone v0.1.64
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking simd-adler32 v0.3.8
[INFO] [stderr]     Checking arrow-schema v54.3.1
[INFO] [stderr]     Checking hashbrown v0.16.1
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]     Checking ryu v1.0.22
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]     Checking lexical-util v1.0.7
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking indexmap v2.13.0
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]     Checking deranged v0.5.5
[INFO] [stderr]     Checking flate2 v1.1.5
[INFO] [stderr]     Checking fdeflate v0.3.7
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling semver v1.0.27
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking pxfm v0.1.27
[INFO] [stderr]     Checking clap_builder v4.5.54
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking png v0.18.0
[INFO] [stderr]     Checking compact_str v0.8.1
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking quick-xml v0.38.4
[INFO] [stderr]     Checking bytemuck v1.24.0
[INFO] [stderr]     Checking x11rb-protocol v0.13.2
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]     Checking byteorder-lite v0.1.0
[INFO] [stderr]    Compiling cc v1.2.51
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]    Compiling parking_lot_core v0.8.6
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking yaml-rust v0.4.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking signal-hook v0.3.18
[INFO] [stderr]    Compiling flatbuffers v24.12.23
[INFO] [stderr]     Checking lexical-parse-integer v1.0.6
[INFO] [stderr]     Checking lexical-write-integer v1.0.6
[INFO] [stderr]     Checking instant v0.1.13
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]     Checking rustc-hash v1.1.0
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking lexical-parse-float v1.0.6
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking lexical-write-float v1.0.6
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling io-uring v0.6.4
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking uuid v1.19.0
[INFO] [stderr]     Checking lexical-core v1.0.6
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]     Checking twox-hash v2.1.2
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking tagptr v0.2.0
[INFO] [stderr]     Checking arrayvec v0.7.6
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling lz4-sys v1.11.1+lz4-1.10.0
[INFO] [stderr]     Checking fancy-regex v0.13.0
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]     Checking rayon v1.11.0
[INFO] [stderr]     Checking lz4_flex v0.11.5
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking moxcms v0.7.11
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking nix v0.27.1
[INFO] [stderr]     Checking memmap2 v0.9.9
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking crossbeam-skiplist v0.1.3
[INFO] [stderr]     Checking arc-swap v1.8.0
[INFO] [stderr]     Checking tiktoken-rs v0.9.1
[INFO] [stderr]     Checking thread_local v1.1.9
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking ordered-float v4.6.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking array-init v2.1.0
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]     Checking bit-vec v0.8.0
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking rand_xorshift v0.4.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking bit-set v0.8.0
[INFO] [stderr]     Checking unarray v0.1.4
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking gethostname v1.1.0
[INFO] [stderr]     Checking tempfile v3.24.0
[INFO] [stderr]     Checking rusty-fork v0.3.1
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking x11rb v0.13.2
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]     Checking onig v6.5.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking tokio v1.49.0
[INFO] [stderr]     Checking image v0.25.9
[INFO] [stderr]     Checking thiserror v2.0.17
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]     Checking clap v4.5.54
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking proptest v1.9.0
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking chrono v0.4.42
[INFO] [stderr]     Checking plist v1.8.0
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ndarray v0.15.6
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking parking_lot v0.11.2
[INFO] [stderr]     Checking sled v0.34.7
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking dashmap v5.5.3
[INFO] [stderr]     Checking arrow-buffer v54.3.1
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking syntect v5.3.0
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking crossterm v0.29.0
[INFO] [stderr]     Checking arboard v3.6.1
[INFO] [stderr]     Checking moka v0.12.12
[INFO] [stderr]     Checking prometheus v0.13.4
[INFO] [stderr]     Checking twox-hash v1.6.3
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking comfy-table v7.2.1
[INFO] [stderr]     Checking arrow-data v54.3.1
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking arrow-array v54.3.1
[INFO] [stderr]     Checking tui-textarea v0.7.0
[INFO] [stderr]     Checking toon-format v0.4.1
[INFO] [stderr]     Checking arrow-select v54.3.1
[INFO] [stderr]     Checking arrow-arith v54.3.1
[INFO] [stderr]     Checking arrow-row v54.3.1
[INFO] [stderr]     Checking arrow-ipc v54.3.1
[INFO] [stderr]     Checking arrow-string v54.3.1
[INFO] [stderr]     Checking arrow-ord v54.3.1
[INFO] [stderr]     Checking arrow-cast v54.3.1
[INFO] [stderr]     Checking arrow v54.3.1
[INFO] [stderr]     Checking lz4 v1.28.1
[INFO] [stderr]     Checking toondb-core v0.3.4
[INFO] [stderr]     Checking toondb-storage v0.3.4
[INFO] [stderr]     Checking toondb-index v0.3.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ContiguousNodeStorage` and `LayerData`
[INFO] [stdout]    --> src/edge_delta_buffer.rs:448:40
[INFO] [stdout]     |
[INFO] [stdout] 448 |     use crate::storage::node_storage::{ContiguousNodeStorage, LayerData};
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::vector_quantized::QuantizedVector`
[INFO] [stdout]    --> src/edge_delta_buffer.rs:449:9
[INFO] [stdout]     |
[INFO] [stdout] 449 |     use crate::vector_quantized::QuantizedVector;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `dot_product_quantized`
[INFO] [stdout]   --> src/rng_optimization_tests.rs:12:134
[INFO] [stdout]    |
[INFO] [stdout] 12 | ...ized_quantized, cosine_distance_normalized_quantized, dot_product_quantized};
[INFO] [stdout]    |                                                          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:25
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/aosoa_tiles.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     pub unsafe fn tile_l2_squared_avx2(&self, query: &[f32], tile_idx: usize) -> [f32; T] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_fmadd_ps` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:404:19
[INFO] [stdout]     |
[INFO] [stdout] 404 |             acc = _mm_fmadd_ps(diff, diff, acc);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: fma
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         _mm_storeu_ps(dists.as_mut_ptr(), acc);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5205:22
[INFO] [stdout]      |
[INFO] [stdout] 5205 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5191:5
[INFO] [stdout]      |
[INFO] [stdout] 5191 |     unsafe fn cosine_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5205:38
[INFO] [stdout]      |
[INFO] [stdout] 5205 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5206:22
[INFO] [stdout]      |
[INFO] [stdout] 5206 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5206:38
[INFO] [stdout]      |
[INFO] [stdout] 5206 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5215:19
[INFO] [stdout]      |
[INFO] [stdout] 5215 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5216:22
[INFO] [stdout]      |
[INFO] [stdout] 5216 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5217:22
[INFO] [stdout]      |
[INFO] [stdout] 5217 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5243:22
[INFO] [stdout]      |
[INFO] [stdout] 5243 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5229:5
[INFO] [stdout]      |
[INFO] [stdout] 5229 |     unsafe fn cosine_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5243:38
[INFO] [stdout]      |
[INFO] [stdout] 5243 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5244:22
[INFO] [stdout]      |
[INFO] [stdout] 5244 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5244:38
[INFO] [stdout]      |
[INFO] [stdout] 5244 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5251:19
[INFO] [stdout]      |
[INFO] [stdout] 5251 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5252:22
[INFO] [stdout]      |
[INFO] [stdout] 5252 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5253:22
[INFO] [stdout]      |
[INFO] [stdout] 5253 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5279:22
[INFO] [stdout]      |
[INFO] [stdout] 5279 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5265:5
[INFO] [stdout]      |
[INFO] [stdout] 5265 |     unsafe fn cosine_distance_avx2_unrolled_1536(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5279:38
[INFO] [stdout]      |
[INFO] [stdout] 5279 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5280:22
[INFO] [stdout]      |
[INFO] [stdout] 5280 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5280:38
[INFO] [stdout]      |
[INFO] [stdout] 5280 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5287:19
[INFO] [stdout]      |
[INFO] [stdout] 5287 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5288:22
[INFO] [stdout]      |
[INFO] [stdout] 5288 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5289:22
[INFO] [stdout]      |
[INFO] [stdout] 5289 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5312:22
[INFO] [stdout]      |
[INFO] [stdout] 5312 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5301:5
[INFO] [stdout]      |
[INFO] [stdout] 5301 |     unsafe fn l2_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5312:38
[INFO] [stdout]      |
[INFO] [stdout] 5312 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5313:22
[INFO] [stdout]      |
[INFO] [stdout] 5313 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5313:38
[INFO] [stdout]      |
[INFO] [stdout] 5313 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5318:9
[INFO] [stdout]      |
[INFO] [stdout] 5318 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5334:22
[INFO] [stdout]      |
[INFO] [stdout] 5334 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5324:5
[INFO] [stdout]      |
[INFO] [stdout] 5324 |     unsafe fn l2_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5334:38
[INFO] [stdout]      |
[INFO] [stdout] 5334 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5335:22
[INFO] [stdout]      |
[INFO] [stdout] 5335 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5335:38
[INFO] [stdout]      |
[INFO] [stdout] 5335 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5340:9
[INFO] [stdout]      |
[INFO] [stdout] 5340 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5356:22
[INFO] [stdout]      |
[INFO] [stdout] 5356 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5346:5
[INFO] [stdout]      |
[INFO] [stdout] 5346 |     unsafe fn dot_product_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5356:38
[INFO] [stdout]      |
[INFO] [stdout] 5356 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5357:22
[INFO] [stdout]      |
[INFO] [stdout] 5357 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5357:38
[INFO] [stdout]      |
[INFO] [stdout] 5357 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5361:9
[INFO] [stdout]      |
[INFO] [stdout] 5361 |         Self::horizontal_sum_avx2(sum)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:22
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/optimized_search.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 420 |     unsafe fn euclidean_distance_avx2(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:38
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:22
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:38
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:22
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/unified_quant.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     unsafe fn dot_i8_avx2(a: &[i8], b: &[i8]) -> i32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:41
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:22
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:41
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:188:18
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     unsafe fn blend_avx2(a: [f32; 4], b: [f32; 4], mask: SimdMask) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:189:18
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_si128` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let vm = _mm_loadu_si128(mask_expanded.as_ptr() as *const __m128i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:266:18
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     unsafe fn min_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:267:18
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     unsafe fn max_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:474:18
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:459:5
[INFO] [stdout]     |
[INFO] [stdout] 459 |     unsafe fn blend_avx2(a: [f32; 8], b: [f32; 8], mask: u8) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:475:18
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:476:18
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let vm = _mm256_loadu_si256(mask_expanded.as_ptr() as *const __m256i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:507:18
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     unsafe fn min_avx2(a: [f32; 8], b: [f32; 8]) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:508:18
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:511:9
[INFO] [stdout]     |
[INFO] [stdout] 511 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:539:18
[INFO] [stdout]     |
[INFO] [stdout] 539 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 537 |     unsafe fn cmp_lt_avx2(a: [f32; 8], b: [f32; 8]) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:540:18
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     query_ptr.add(prefetch_d) as *const i8,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     pub unsafe fn batch_l2_squared_8x(
[INFO] [stdout] 102 | |         query: &[f32],
[INFO] [stdout] 103 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 104 | |         dimension: usize,
[INFO] [stdout] 105 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     _mm_prefetch(c.as_ptr().add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:138:37
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 149 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 149 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 150 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 150 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 151 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 151 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:163:30
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:165:34
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:238:30
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 _mm_prefetch(query_ptr.add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     pub unsafe fn batch_dot_product_8x(
[INFO] [stdout] 215 | |         query: &[f32],
[INFO] [stdout] 216 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 217 | |         dimension: usize,
[INFO] [stdout] 218 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:241:21
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:241:37
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 250 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 250 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 251 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 251 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 252 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 252 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:263:26
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:265:30
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:283:13
[INFO] [stdout]     |
[INFO] [stdout] 283 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:245:18
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:233:1
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub unsafe fn l2_squared_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:245:34
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:246:34
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:262:43
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:284:18
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub unsafe fn dot_product_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:284:34
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:285:18
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:285:34
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:300:20
[INFO] [stdout]     |
[INFO] [stdout] 300 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:300:42
[INFO] [stdout]     |
[INFO] [stdout] 300 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:325:18
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub unsafe fn l2_squared_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:325:31
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:326:18
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:326:31
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:340:21
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:340:43
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:362:18
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:350:1
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub unsafe fn dot_product_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:362:31
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:363:18
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:363:31
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:376:20
[INFO] [stdout]     |
[INFO] [stdout] 376 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:376:42
[INFO] [stdout]     |
[INFO] [stdout] 376 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:401:18
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub unsafe fn l2_squared_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:401:34
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:402:18
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:402:34
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:412:21
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:412:43
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:434:18
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:422:1
[INFO] [stdout]     |
[INFO] [stdout] 422 | pub unsafe fn dot_product_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:434:34
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:435:18
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:435:34
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:444:20
[INFO] [stdout]     |
[INFO] [stdout] 444 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:444:42
[INFO] [stdout]     |
[INFO] [stdout] 444 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:604:22
[INFO] [stdout]     |
[INFO] [stdout] 604 |             let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:583:1
[INFO] [stdout]     |
[INFO] [stdout] 583 | unsafe fn l2_squared_threshold_avx2(a: &[f32], b: &[f32], threshold_squared: f32) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:604:38
[INFO] [stdout]     |
[INFO] [stdout] 604 |             let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:605:22
[INFO] [stdout]     |
[INFO] [stdout] 605 |             let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:605:38
[INFO] [stdout]     |
[INFO] [stdout] 605 |             let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/simd_distance.rs:626:17
[INFO] [stdout]     |
[INFO] [stdout] 626 |                 sum_scalar + diff * diff;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 626 |                 let _ = sum_scalar + diff * diff;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:25
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/aosoa_tiles.rs:384:5
[INFO] [stdout]     |
[INFO] [stdout] 384 |     pub unsafe fn tile_l2_squared_avx2(&self, query: &[f32], tile_idx: usize) -> [f32; T] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:402:38
[INFO] [stdout]     |
[INFO] [stdout] 402 |             let v_vec = _mm_loadu_ps(tile_ptr.add(d * T));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_fmadd_ps` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:404:19
[INFO] [stdout]     |
[INFO] [stdout] 404 |             acc = _mm_fmadd_ps(diff, diff, acc);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: fma
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/aosoa_tiles.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         _mm_storeu_ps(dists.as_mut_ptr(), acc);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] error: expected identifier, found reserved keyword `gen`
[INFO] [stdout]   --> benches/perf_regression.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |     (0..n * dim).map(|_| rng.gen::<f32>() * 2.0 - 1.0).collect()
[INFO] [stdout]    |                              ^^^ expected identifier, found reserved keyword
[INFO] [stdout]    |
[INFO] [stdout] help: escape `gen` to use it as an identifier
[INFO] [stdout]    |
[INFO] [stdout] 38 |     (0..n * dim).map(|_| rng.r#gen::<f32>() * 2.0 - 1.0).collect()
[INFO] [stdout]    |                              ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> benches/vector_bench.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 | fn run_benchmark<F>(name: &str, mut f: F, iterations_per_sample: usize) -> BenchmarkStats
[INFO] [stdout]    |                     ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `memory_stats` found for struct `HnswIndex` in the current scope
[INFO] [stdout]    --> benches/quantization_bench.rs:124:39
[INFO] [stdout]     |
[INFO] [stdout] 124 |                     let stats = index.memory_stats();
[INFO] [stdout]     |                                       ^^^^^^^^^^^^ method not found in `HnswIndex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `toondb-index` (bench "quantization_bench") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `dim`
[INFO] [stdout]    --> benches/perf_regression.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 |             |b, (dim, vector)| {
[INFO] [stdout]     |                  ^^^ help: if this is intentional, prefix it with an underscore: `_dim`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `toondb-index` (bench "perf_regression") due to 1 previous error; 1 warning emitted
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5205:22
[INFO] [stdout]      |
[INFO] [stdout] 5205 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5191:5
[INFO] [stdout]      |
[INFO] [stdout] 5191 |     unsafe fn cosine_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5205:38
[INFO] [stdout]      |
[INFO] [stdout] 5205 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5206:22
[INFO] [stdout]      |
[INFO] [stdout] 5206 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5206:38
[INFO] [stdout]      |
[INFO] [stdout] 5206 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5215:19
[INFO] [stdout]      |
[INFO] [stdout] 5215 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5216:22
[INFO] [stdout]      |
[INFO] [stdout] 5216 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5217:22
[INFO] [stdout]      |
[INFO] [stdout] 5217 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5243:22
[INFO] [stdout]      |
[INFO] [stdout] 5243 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5229:5
[INFO] [stdout]      |
[INFO] [stdout] 5229 |     unsafe fn cosine_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5243:38
[INFO] [stdout]      |
[INFO] [stdout] 5243 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5244:22
[INFO] [stdout]      |
[INFO] [stdout] 5244 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5244:38
[INFO] [stdout]      |
[INFO] [stdout] 5244 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5251:19
[INFO] [stdout]      |
[INFO] [stdout] 5251 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5252:22
[INFO] [stdout]      |
[INFO] [stdout] 5252 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5253:22
[INFO] [stdout]      |
[INFO] [stdout] 5253 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5279:22
[INFO] [stdout]      |
[INFO] [stdout] 5279 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5265:5
[INFO] [stdout]      |
[INFO] [stdout] 5265 |     unsafe fn cosine_distance_avx2_unrolled_1536(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5279:38
[INFO] [stdout]      |
[INFO] [stdout] 5279 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5280:22
[INFO] [stdout]      |
[INFO] [stdout] 5280 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5280:38
[INFO] [stdout]      |
[INFO] [stdout] 5280 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5287:19
[INFO] [stdout]      |
[INFO] [stdout] 5287 |         let dot = Self::horizontal_sum_avx2(dot_sum);
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5288:22
[INFO] [stdout]      |
[INFO] [stdout] 5288 |         let norm_a = Self::horizontal_sum_avx2(norm_a_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5289:22
[INFO] [stdout]      |
[INFO] [stdout] 5289 |         let norm_b = Self::horizontal_sum_avx2(norm_b_sum).sqrt();
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5312:22
[INFO] [stdout]      |
[INFO] [stdout] 5312 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5301:5
[INFO] [stdout]      |
[INFO] [stdout] 5301 |     unsafe fn l2_distance_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5312:38
[INFO] [stdout]      |
[INFO] [stdout] 5312 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5313:22
[INFO] [stdout]      |
[INFO] [stdout] 5313 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5313:38
[INFO] [stdout]      |
[INFO] [stdout] 5313 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5318:9
[INFO] [stdout]      |
[INFO] [stdout] 5318 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5334:22
[INFO] [stdout]      |
[INFO] [stdout] 5334 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5324:5
[INFO] [stdout]      |
[INFO] [stdout] 5324 |     unsafe fn l2_distance_avx2_unrolled_768(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5334:38
[INFO] [stdout]      |
[INFO] [stdout] 5334 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5335:22
[INFO] [stdout]      |
[INFO] [stdout] 5335 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5335:38
[INFO] [stdout]      |
[INFO] [stdout] 5335 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5340:9
[INFO] [stdout]      |
[INFO] [stdout] 5340 |         Self::horizontal_sum_avx2(sum).sqrt()
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5356:22
[INFO] [stdout]      |
[INFO] [stdout] 5356 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]     --> src/hnsw.rs:5346:5
[INFO] [stdout]      |
[INFO] [stdout] 5346 |     unsafe fn dot_product_avx2_unrolled_128(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5356:38
[INFO] [stdout]      |
[INFO] [stdout] 5356 |             let va = _mm256_loadu_ps(a_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5357:22
[INFO] [stdout]      |
[INFO] [stdout] 5357 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5357:38
[INFO] [stdout]      |
[INFO] [stdout] 5357 |             let vb = _mm256_loadu_ps(b_ptr.add(i));
[INFO] [stdout]      |                                      ^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `hnsw::HnswIndex::horizontal_sum_avx2` is unsafe and requires unsafe block
[INFO] [stdout]     --> src/hnsw.rs:5361:9
[INFO] [stdout]      |
[INFO] [stdout] 5361 |         Self::horizontal_sum_avx2(sum)
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]      |
[INFO] [stdout]      = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:22
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/optimized_search.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 420 |     unsafe fn euclidean_distance_avx2(&self, a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:431:38
[INFO] [stdout]     |
[INFO] [stdout] 431 |             let va = _mm256_loadu_ps(a.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:22
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/optimized_search.rs:432:38
[INFO] [stdout]     |
[INFO] [stdout] 432 |             let vb = _mm256_loadu_ps(b.as_ptr().add(idx));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/unified_search.rs:650:13
[INFO] [stdout]     |
[INFO] [stdout] 650 |         let mut id_mapper = IdMapper::new();
[INFO] [stdout]     |             ----^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:22
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/unified_quant.rs:379:5
[INFO] [stdout]     |
[INFO] [stdout] 379 |     unsafe fn dot_i8_avx2(a: &[i8], b: &[i8]) -> i32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:389:41
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let va = _mm256_loadu_si256(a.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:22
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/unified_quant.rs:390:41
[INFO] [stdout]     |
[INFO] [stdout] 390 |             let vb = _mm256_loadu_si256(b.as_ptr().add(idx) as *const __m256i);
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:188:18
[INFO] [stdout]     |
[INFO] [stdout] 188 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:177:5
[INFO] [stdout]     |
[INFO] [stdout] 177 |     unsafe fn blend_avx2(a: [f32; 4], b: [f32; 4], mask: SimdMask) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:189:18
[INFO] [stdout]     |
[INFO] [stdout] 189 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_si128` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let vm = _mm_loadu_si128(mask_expanded.as_ptr() as *const __m128i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:266:18
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     unsafe fn min_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:267:18
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:313:18
[INFO] [stdout]     |
[INFO] [stdout] 313 |         let va = _mm_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:311:5
[INFO] [stdout]     |
[INFO] [stdout] 311 |     unsafe fn max_avx2(a: [f32; 4], b: [f32; 4]) -> [f32; 4] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:314:18
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let vb = _mm_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:317:9
[INFO] [stdout]     |
[INFO] [stdout] 317 |         _mm_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:474:18
[INFO] [stdout]     |
[INFO] [stdout] 474 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:459:5
[INFO] [stdout]     |
[INFO] [stdout] 459 |     unsafe fn blend_avx2(a: [f32; 8], b: [f32; 8], mask: u8) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:475:18
[INFO] [stdout]     |
[INFO] [stdout] 475 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:476:18
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let vm = _mm256_loadu_si256(mask_expanded.as_ptr() as *const __m256i);
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:481:9
[INFO] [stdout]     |
[INFO] [stdout] 481 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:507:18
[INFO] [stdout]     |
[INFO] [stdout] 507 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:505:5
[INFO] [stdout]     |
[INFO] [stdout] 505 |     unsafe fn min_avx2(a: [f32; 8], b: [f32; 8]) -> [f32; 8] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:508:18
[INFO] [stdout]     |
[INFO] [stdout] 508 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_storeu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:511:9
[INFO] [stdout]     |
[INFO] [stdout] 511 |         _mm256_storeu_ps(out.as_mut_ptr(), result);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:539:18
[INFO] [stdout]     |
[INFO] [stdout] 539 |         let va = _mm256_loadu_ps(a.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/predicated_simd.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 537 |     unsafe fn cmp_lt_avx2(a: [f32; 8], b: [f32; 8]) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/predicated_simd.rs:540:18
[INFO] [stdout]     |
[INFO] [stdout] 540 |         let vb = _mm256_loadu_ps(b.as_ptr());
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:129:21
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     query_ptr.add(prefetch_d) as *const i8,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 | /     pub unsafe fn batch_l2_squared_8x(
[INFO] [stdout] 102 | |         query: &[f32],
[INFO] [stdout] 103 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 104 | |         dimension: usize,
[INFO] [stdout] 105 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:133:34
[INFO] [stdout]     |
[INFO] [stdout] 133 |                     _mm_prefetch(c.as_ptr().add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:138:21
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:138:37
[INFO] [stdout]     |
[INFO] [stdout] 138 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 149 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 149 |             process_candidate!(0, acc0);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 150 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 150 |             process_candidate!(1, acc1);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 151 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 151 |             process_candidate!(2, acc2);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 152 |             process_candidate!(3, acc3);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 153 |             process_candidate!(4, acc4);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 154 |             process_candidate!(5, acc5);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 155 |             process_candidate!(6, acc6);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:29
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 156 |             process_candidate!(7, acc7);
[INFO] [stdout]     |             --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_candidate` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:163:30
[INFO] [stdout]     |
[INFO] [stdout] 163 |                 let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:165:34
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:186:13
[INFO] [stdout]     |
[INFO] [stdout] 186 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:187:13
[INFO] [stdout]     |
[INFO] [stdout] 187 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:188:13
[INFO] [stdout]     |
[INFO] [stdout] 188 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:189:13
[INFO] [stdout]     |
[INFO] [stdout] 189 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:190:13
[INFO] [stdout]     |
[INFO] [stdout] 190 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:238:30
[INFO] [stdout]     |
[INFO] [stdout] 238 |                 _mm_prefetch(query_ptr.add(prefetch_d) as *const i8, _MM_HINT_T0);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_batch_distance.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 | /     pub unsafe fn batch_dot_product_8x(
[INFO] [stdout] 215 | |         query: &[f32],
[INFO] [stdout] 216 | |         candidates: &[&[f32]; 8],
[INFO] [stdout] 217 | |         dimension: usize,
[INFO] [stdout] 218 | |     ) -> [f32; 8] {
[INFO] [stdout]     | |_________________^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:241:21
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:241:37
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let q = _mm256_loadu_ps(query_ptr.add(d));
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 250 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 250 |             process_dot!(0, acc0);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 251 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 251 |             process_dot!(1, acc1);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 252 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 252 |             process_dot!(2, acc2);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 253 |             process_dot!(3, acc3);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 254 |             process_dot!(4, acc4);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 255 |             process_dot!(5, acc5);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 256 |             process_dot!(6, acc6);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:29
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:245:45
[INFO] [stdout]     |
[INFO] [stdout] 245 |                     let c = _mm256_loadu_ps(candidates[$idx].as_ptr().add(d));
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout] ...
[INFO] [stdout] 257 |             process_dot!(7, acc7);
[INFO] [stdout]     |             --------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: this warning originates in the macro `process_dot` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:263:26
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let q_val = *query.get_unchecked(d);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:265:30
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 let c_val = *candidate.get_unchecked(d);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |             hsum_256(acc0),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:282:13
[INFO] [stdout]     |
[INFO] [stdout] 282 |             hsum_256(acc1),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:283:13
[INFO] [stdout]     |
[INFO] [stdout] 283 |             hsum_256(acc2),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:284:13
[INFO] [stdout]     |
[INFO] [stdout] 284 |             hsum_256(acc3),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:285:13
[INFO] [stdout]     |
[INFO] [stdout] 285 |             hsum_256(acc4),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |             hsum_256(acc5),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:287:13
[INFO] [stdout]     |
[INFO] [stdout] 287 |             hsum_256(acc6),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `simd_batch_distance::avx2::hsum_256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_batch_distance.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |             hsum_256(acc7),
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:245:18
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:233:1
[INFO] [stdout]     |
[INFO] [stdout] 233 | pub unsafe fn l2_squared_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:245:34
[INFO] [stdout]     |
[INFO] [stdout] 245 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:246:34
[INFO] [stdout]     |
[INFO] [stdout] 246 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:262:21
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:262:43
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:284:18
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub unsafe fn dot_product_avx2(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:284:34
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:285:18
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:285:34
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:300:20
[INFO] [stdout]     |
[INFO] [stdout] 300 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:300:42
[INFO] [stdout]     |
[INFO] [stdout] 300 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:325:18
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:313:1
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub unsafe fn l2_squared_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:325:31
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:326:18
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:326:31
[INFO] [stdout]     |
[INFO] [stdout] 326 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:340:21
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:340:43
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:362:18
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:350:1
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub unsafe fn dot_product_sse41(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:362:31
[INFO] [stdout]     |
[INFO] [stdout] 362 |         let va = _mm_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:363:18
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:363:31
[INFO] [stdout]     |
[INFO] [stdout] 363 |         let vb = _mm_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:376:20
[INFO] [stdout]     |
[INFO] [stdout] 376 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:376:42
[INFO] [stdout]     |
[INFO] [stdout] 376 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:401:18
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:389:1
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub unsafe fn l2_squared_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:401:34
[INFO] [stdout]     |
[INFO] [stdout] 401 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:402:18
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:402:34
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:412:21
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:412:43
[INFO] [stdout]     |
[INFO] [stdout] 412 |         let diff = *a.get_unchecked(i) - *b.get_unchecked(i);
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:434:18
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:422:1
[INFO] [stdout]     |
[INFO] [stdout] 422 | pub unsafe fn dot_product_avx512(a: &[f32], b: &[f32]) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:434:34
[INFO] [stdout]     |
[INFO] [stdout] 434 |         let va = _mm512_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm512_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:435:18
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:435:34
[INFO] [stdout]     |
[INFO] [stdout] 435 |         let vb = _mm512_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:444:20
[INFO] [stdout]     |
[INFO] [stdout] 444 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:444:42
[INFO] [stdout]     |
[INFO] [stdout] 444 |         result += *a.get_unchecked(i) * *b.get_unchecked(i);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:604:22
[INFO] [stdout]     |
[INFO] [stdout] 604 |             let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/simd_distance.rs:583:1
[INFO] [stdout]     |
[INFO] [stdout] 583 | unsafe fn l2_squared_threshold_avx2(a: &[f32], b: &[f32], threshold_squared: f32) -> f32 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:604:38
[INFO] [stdout]     |
[INFO] [stdout] 604 |             let va = _mm256_loadu_ps(a_ptr.add(offset));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_ps` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:605:22
[INFO] [stdout]     |
[INFO] [stdout] 605 |             let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/simd_distance.rs:605:38
[INFO] [stdout]     |
[INFO] [stdout] 605 |             let vb = _mm256_loadu_ps(b_ptr.add(offset));
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused arithmetic operation that must be used
[INFO] [stdout]    --> src/simd_distance.rs:626:17
[INFO] [stdout]     |
[INFO] [stdout] 626 |                 sum_scalar + diff * diff;
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^ the arithmetic operation produces a value
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 626 |                 let _ = sum_scalar + diff * diff;
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3e09286b3fbc538c710d42944502d699aa637216d97ab78eaa94044a2216b877", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3e09286b3fbc538c710d42944502d699aa637216d97ab78eaa94044a2216b877", kill_on_drop: false }`
[INFO] [stdout] 3e09286b3fbc538c710d42944502d699aa637216d97ab78eaa94044a2216b877
